package com.example.testapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Spinner;
import android.widget.Toast;

import com.example.testapplication.adapter.PlanetListAdapter;
import com.example.testapplication.bean.Planet;

import java.util.ArrayList;

public class BaseAdapterActivity extends AppCompatActivity {
    private ArrayList<Planet> planetList = new ArrayList<>(); // 声明一个行星队列
    private static int[] iconArray = {R.drawable.shuixing, R.drawable.jinxing, R.drawable.diqiu,
            R.drawable.huoxing, R.drawable.muxing, R.drawable.tuxing};
    private static String[] nameArray = {"水星", "金星", "地球", "火星", "木星", "土星"};
    private static String[] descArray = {
            "水星是太阳系八大行星最内侧也是最小的一颗行星，也是离太阳最近的行星",
            "金星是太阳系八大行星之一，排行第二，距离太阳0.725天文单位",
            "地球是太阳系八大行星之一，排行第三，也是太阳系中直径、质量和密度最大的类地行星，距离太阳1.5亿公里",
            "火星是太阳系八大行星之一，排行第四，属于类地行星，直径约为地球的53%",
            "木星是太阳系八大行星中体积最大、自转最快的行星，排行第五。它的质量为太阳的千分之一，但为太阳系中其它七大行星质量总和的2.5倍",
            "土星为太阳系八大行星之一，排行第六，体积仅次于木星"
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_base_adapter);
        initPlanetSpinner();
    }

    private void initPlanetSpinner() {
        for (int i = 0; i < iconArray.length; i++) {
            planetList.add(new Planet(iconArray[i], nameArray[i], descArray[i]));
        }
        // 构建一个行星列表的适配器
        PlanetListAdapter adapter = new PlanetListAdapter(this,planetList);
        // 从布局文件中获取名sp_planet下拉框
        Spinner sp = findViewById(R.id.sp_planet);
        // 设置标题
        sp.setPrompt("请选择行星");
        // 设置下拉框的列表适配器
        sp.setAdapter(adapter);
        // 设置下拉框默认显示第一项
        sp.setSelection(0);
        // 给下拉框设置选择监听器，一旦用户选中某一项，就触发监听器的onItemSelected方法
        sp.setOnItemSelectedListener(new MySelectedListener());
    }

    private class MySelectedListener implements android.widget.AdapterView.OnItemSelectedListener {
        @Override
        public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
            Toast.makeText(BaseAdapterActivity.this, "你选择的是" + planetList.get(i).name, Toast.LENGTH_SHORT).show();
            //Log.i("Tag", String.valueOf(planetList.get(i)));

        }
        // 未选择时的处理方法，通常无需关注
        @Override
        public void onNothingSelected(AdapterView<?> adapterView) {

        }
    }
}